package xfuzzy.xfhl.model.hierStruct;

/**
 * Interfaz que representa un Nodo del modulo
 * 
 * @author Sergio Cala Cordero, Septiembre 2009, Herramienta XFHL
 * 
 */
public interface XfhlINode {

	/**
	 * Imprime por pantalla el XfhlINodo
	 */
	void imprime();

	/**
	 * copia un INodo
	 * 
	 * @return Devuelve un XfhlINode
	 */
	XfhlINode copiar();

	/**
	 * Metodo que nos permite copiar un XfhlNode o a�adir un XfhlNode a un
	 * XfhlModule.
	 * 
	 * @param par
	 *            valor nos dice si estamos buscando un M�dulo (0) o un Nodo (1)
	 *            MODULO (par=0): Copia un MODULO añadiendole un nuevo m�dulo
	 *            que es ent1 del modulo indicado, sus variables son sal= var+1,
	 *            ent2=var+2 y su id es idNuevoMod NODO (par=1): Copia un NODO
	 *            que va a convertirlo en m�dulo, d�nde sal es el valor del
	 *            Nodo, el idModulo es idNuevoMod, ent1 es var+1,ent2 es var+2.
	 * @param numMod
	 *            N�mero de m�dulos del XfhlModule
	 * @param idNuevoMod
	 *            Identificador del nuevo m�dulo
	 */
	XfhlINode copiar(int par, int numMod, int idNuevoMod);
	
	String getDescripcion();

}
